<?php

 class ConfigController extends Controller{
     
     function __construct() {
         parent::__construct();
         $this->loggin_type = 'loginadmin';
     }
     
     function index(){
         $this->modificar_configuraciones();
     }
     
     function modificar_configuraciones(){
         $this->set('configs', GeneralConfig::all(array('order' => 'nombre')));
         $this->set('plus', PlusOrden::all(array('order' => 'nombre')));
         $this->set('planes', Plan::activos_ordered_by_numeroPlan());
         $this->render();
     }
     
     function save(){
         
         /* Update GeneralConfigs */
         foreach($_POST['config'] as $id => $value_attr ):
             GeneralConfig::find($id)->update_attributes(array('valor' => $value_attr));          
         endforeach;

         /* Update plus */
         foreach($_POST['plus'] as $id => $value_attr ):
             PlusOrden::find($id)->update_attributes(array('coeficiente' => $value_attr));          
         endforeach;
         
         /* Update planes */
         foreach($_POST['plan'] as $id => $values_attr ):
             // Si el plan no está checkeado entonces se agrega el atributo web_uso 
             // al array con valor con valor 0 para que sea actualizado en la base de datos. 
             if(!$values_attr['web_uso']) $values_attr['web_uso'] = 0; 
             if(!$values_attr['web_permite_recetario']) 
                 $values_attr['web_permite_recetario'] = 0;
             Plan::find($id)->update_attributes($values_attr);          
         endforeach;

         $this->redirect_to('config', 'modificar_configuraciones');
     }
     
     function before_load() {
         $user = Session::get_object('user');
         if(!$user || !$user->is_admin()):
//             parent::before_load();
             $this->redirect_to($this->loggin_type(), 'index');
         endif;
     }
     
 }
?>
